package com.fidelizarte.ejb.servicio.frontend;

import java.util.List;

import javax.ejb.Remote;

import com.fidelizarte.common.util.SeguridadesException;
import com.fidelizarte.ejb.persistence.dto.CargoDTO;
import com.fidelizarte.ejb.persistence.dto.EmpresaDTO;
import com.fidelizarte.ejb.persistence.dto.TipoCampaniaDTO;
import com.fidelizarte.ejb.persistence.util.dto.EmpleadoDTO;

@Remote
public interface ServicioCommonRemote {
	/**
	 * Metodo de Interface remoto de session bean que permite obtener una
	 * empresa mediante su id
	 * 
	 * @param idEmpresaMain
	 * @return
	 * @throws SeguridadesException
	 */
	public EmpresaDTO getEmpresaPorIdEmpresa(Integer idEmpresaMain)
			throws SeguridadesException;
  /**
   *  Metodo de Interface remoto de session bean que permite obtener todas las empresas
   *  que tiene a su cargo una empresa incluyendose tambien la empresa 
   * @param idEmpresaMain
   * @return
   * @throws SeguridadesException
   */
	 
	public List<EmpresaDTO> getEmpresasAsociadasPorIdEmpresa(
			Integer idEmpresaMain) throws SeguridadesException;

	/**
	 * Metodo de Interface remoto de session bean que permite obtener una
	 * empresa mediante su id
	 * 
	 * @param idEmpresaMain
	 * @return
	 * @throws SeguridadesException
	 */

	public List<CargoDTO> getCargosPorIdEmpresa(Integer idEmpresaMain)
			throws SeguridadesException;

	/**
	 * Metodo de Interface remoto de session bean que permite obtener las
	 * campanias asociados a un id de empresa
	 * 
	 * @param idEmpresaMain
	 * @return
	 * @throws SeguridadesException
	 */
	public List<TipoCampaniaDTO> getTiposCampaniaAsociadasPorIdEmpresa(
			Integer idEmpresaMain) throws SeguridadesException;

	/**
	 *  Metodo de Interface remoto de session bean que permite ver si existe el numero de cedula en cuestion
	 * @param ci
	 * @return
	 * @throws SeguridadesException
	 */
	public Boolean verExistenciaCedula(
			String ci) throws SeguridadesException;
	
	/**
	 *  Metodo de Interface remoto de session bean que permite obtener empleados de una empresa
	 * @param idEmpresa
	 * @return
	 * @throws SeguridadesException
	 */
	public List<EmpleadoDTO> getEmpleadoPorIdEmpresa(Integer idEmpresa)
			throws SeguridadesException;
}
